package com.outstanding.his.entity.service.impl;

import java.io.Serializable;
import java.util.List;

import com.outstanding.his.entity.dao.IEntityDao;
import com.outstanding.his.entity.service.IEntityService;
import com.outstanding.his.util.pager.Pagination;

public class EntityServiceImpl<T> implements IEntityService<T> {
	
	private IEntityDao<T> entityDao;

	public void setEntityDao(IEntityDao<T> entityDao) {
		this.entityDao = entityDao;
	}

	public Object getEntity(Serializable entityId) {
		return entityDao.getEntity(entityId);
	}

	public void removeEntity(Object object) {
		entityDao.removeEntity(object);
	}

	public void removeEntityById(Serializable entityId) {
		entityDao.removeEntityById(entityId);
	}

	public void saveEntity(Object object) {
		entityDao.saveEntity(object);
	}

	public Integer getEntityCount() {
		return entityDao.getEntityCount();
	}

	public List<T> listEntity(String query, int firstIndex, int pageSize,Object[] parameters) {
		return entityDao.listEntity(query, firstIndex, pageSize,parameters);
	}

	public List<T> listAllEntity() {
		return entityDao.listAllEntity();
	}

	public Pagination pagedEntityQuery(String hql, int pageNo, int pageSize, Object[] parameters) {
		return entityDao.pagedEntityQuery(hql, pageNo, pageSize, parameters);
	}
	
	public Pagination pagedEntityQuery(String hql, int pageNo, int pageSize, int pageSpan, Object[] parameters){
		return entityDao.pagedEntityQuery(hql, pageNo, pageSize, pageSpan, parameters);
	}

}
